#ifndef SETTINGSEDITOR_H
#define SETTINGSEDITOR_H

#include <QtGui/QWidget>

#include "keycontrollablemenu.h"
#include "formatsettings.h"
#include "medialocatorsettings.h"
#include "shortcutsettings.h"
#include "settingsmenuitem.h"
#include "playbackshortcutsettings.h"
#include "themesettings.h"

namespace Ui {
    class SettingsEditor;
}

class SettingsEditor : public KeyControllableMenu {
    Q_OBJECT
public:
    SettingsEditor(QWidget *parent = 0);
    ~SettingsEditor();
    void test();
public slots:
    void buttonSelected();
    void reshowComponents();
protected:
    void changeEvent(QEvent *e);

private:
    Ui::SettingsEditor *m_ui;
    void initializeButtons();
    void addItem(QIcon icon, QString name, SettingsMenuItem * button);
    QVBoxLayout * mainLayout;
    SettingsMenuItem * currentMenu;

    FormatSettings * formats;
    MediaLocatorSettings * mediaLocator;
    ShortcutSettings * shortcuts;
    ThemeSettings * themes;
    PlaybackShortcutSettings * playbackShortcuts;
};

#endif // SETTINGSEDITOR_H
